package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 流转单对象 circulation_sheet
 * 
 * @author ruoyi
 * @date 2021-03-12
 */
public class CirculationSheet extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一主键 */
    private Long id;

    /** 合同是否归档 */
    @Excel(name = "合同是否归档")
    private String contactArchived;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNumber;

    /** 未回款领报告申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "未回款领报告申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportApplyDate;

    /** 登记单号 */
    @Excel(name = "登记单号")
    private String registrationNumber;

    /** 领取报告对应欠款金额 */
    @Excel(name = "领取报告对应欠款金额")
    private Long getReportOwnAmount;

    /** 未回款原因 */
    @Excel(name = "未回款原因")
    private String notPayReason;

    /** 预计回款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计回款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date estimateMoneyReturnTime;

    /** 报告号 */
    @Excel(name = "报告号")
    private String  reportNumber;

    /** 报告邮寄日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报告邮寄日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportMailingDate;

    /** 下单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderDate;

    /** 流转单号 */
    @Excel(name = "流转单号")
    private String sequenceNumber;

    /** 委托单位 */
    @Excel(name = "委托单位")
    private String enterprise;

    /** 受检单位/项目名称 */
    @Excel(name = "受检单位/项目名称")
    private String projectName;

    /** 检测方案 */
    @Excel(name = "检测方案")
    private String detectionScheme;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private Long contractAmount;

    /** 金额备注 */
    @Excel(name = "金额备注")
    private String amountRemarks;

    /** 业务来源 */
    @Excel(name = "业务来源")
    private String transactionSource;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contact;

    /** 电话 */
    @Excel(name = "电话")
    private String phoneNumber;

    /** 检测地址（地区级） */
    @Excel(name = "检测地址", readConverterExp = "地=区级")
    private String detectionAddressArea;

    /** 检测地址（县区级） */
    @Excel(name = "检测地址", readConverterExp = "县=区级")
    private String detectionAddressCounty;

    /** 业务人员 */
    @Excel(name = "业务人员")
    private String businessPeople;

    /** 运营中心 */
    @Excel(name = "运营中心")
    private String operationCenter;

    /** 涉及业务员变动 */
    @Excel(name = "涉及业务员变动")
    private String changeOfSalesman;

    /** 运营备注 */
    @Excel(name = "运营备注")
    private String businessComments;

    /** 到账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    /** 单次到账金额 */
    @Excel(name = "单次到账金额")
    private Long oncePaymentAmount;

    /** 到账合计 */
    @Excel(name = "到账合计")
    private Long totalPayment;

    /** 欠款金额 */
    @Excel(name = "欠款金额")
    private Long amountOwing;

    /** 开票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fapiaoDate;

    /** 单次开票金额 */
    @Excel(name = "单次开票金额")
    private Long onceFapiaoAmount;

    /** 发票合计 */
    @Excel(name = "发票合计")
    private Long totalFapiaoAmount;

    /** 财务备注 */
    @Excel(name = "财务备注")
    private String financeNote;

    /** 附件 */
    @Excel(name = "附件")
    private String attachment;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setContactArchived(String contactArchived) 
    {
        this.contactArchived = contactArchived;
    }

    public String getContactArchived() 
    {
        return contactArchived;
    }
    public void setContractNumber(String contractNumber) 
    {
        this.contractNumber = contractNumber;
    }

    public String getContractNumber() 
    {
        return contractNumber;
    }
    public void setReportApplyDate(Date reportApplyDate) 
    {
        this.reportApplyDate = reportApplyDate;
    }

    public Date getReportApplyDate() 
    {
        return reportApplyDate;
    }
    public void setRegistrationNumber(String registrationNumber) 
    {
        this.registrationNumber = registrationNumber;
    }

    public String getRegistrationNumber() 
    {
        return registrationNumber;
    }
    public void setGetReportOwnAmount(Long getReportOwnAmount) 
    {
        this.getReportOwnAmount = getReportOwnAmount;
    }

    public Long getGetReportOwnAmount() 
    {
        return getReportOwnAmount;
    }
    public void setNotPayReason(String notPayReason) 
    {
        this.notPayReason = notPayReason;
    }

    public String getNotPayReason() 
    {
        return notPayReason;
    }
    public void setEstimateMoneyReturnTime(Date estimateMoneyReturnTime) 
    {
        this.estimateMoneyReturnTime = estimateMoneyReturnTime;
    }

    public Date getEstimateMoneyReturnTime() 
    {
        return estimateMoneyReturnTime;
    }
    public void setReportNumber(String reportNumber)
    {
        this.reportNumber =  reportNumber;
    }

    public String getReportNumber()
    {
        return  reportNumber;
    }
    public void setReportMailingDate(Date reportMailingDate) 
    {
        this.reportMailingDate = reportMailingDate;
    }

    public Date getReportMailingDate() 
    {
        return reportMailingDate;
    }
    public void setOrderDate(Date orderDate) 
    {
        this.orderDate = orderDate;
    }

    public Date getOrderDate() 
    {
        return orderDate;
    }
    public void setSequenceNumber(String sequenceNumber) 
    {
        this.sequenceNumber = sequenceNumber;
    }

    public String getSequenceNumber() 
    {
        return sequenceNumber;
    }
    public void setEnterprise(String enterprise) 
    {
        this.enterprise = enterprise;
    }

    public String getEnterprise() 
    {
        return enterprise;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setDetectionScheme(String detectionScheme) 
    {
        this.detectionScheme = detectionScheme;
    }

    public String getDetectionScheme() 
    {
        return detectionScheme;
    }
    public void setContractAmount(Long contractAmount) 
    {
        this.contractAmount = contractAmount;
    }

    public Long getContractAmount() 
    {
        return contractAmount;
    }
    public void setAmountRemarks(String amountRemarks) 
    {
        this.amountRemarks = amountRemarks;
    }

    public String getAmountRemarks() 
    {
        return amountRemarks;
    }
    public void setTransactionSource(String transactionSource) 
    {
        this.transactionSource = transactionSource;
    }

    public String getTransactionSource() 
    {
        return transactionSource;
    }
    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setDetectionAddressArea(String detectionAddressArea) 
    {
        this.detectionAddressArea = detectionAddressArea;
    }

    public String getDetectionAddressArea() 
    {
        return detectionAddressArea;
    }
    public void setDetectionAddressCounty(String detectionAddressCounty) 
    {
        this.detectionAddressCounty = detectionAddressCounty;
    }

    public String getDetectionAddressCounty() 
    {
        return detectionAddressCounty;
    }
    public void setBusinessPeople(String businessPeople) 
    {
        this.businessPeople = businessPeople;
    }

    public String getBusinessPeople() 
    {
        return businessPeople;
    }
    public void setOperationCenter(String operationCenter) 
    {
        this.operationCenter = operationCenter;
    }

    public String getOperationCenter() 
    {
        return operationCenter;
    }
    public void setChangeOfSalesman(String changeOfSalesman) 
    {
        this.changeOfSalesman = changeOfSalesman;
    }

    public String getChangeOfSalesman() 
    {
        return changeOfSalesman;
    }
    public void setBusinessComments(String businessComments) 
    {
        this.businessComments = businessComments;
    }

    public String getBusinessComments() 
    {
        return businessComments;
    }
    public void setPaymentDate(Date paymentDate) 
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate() 
    {
        return paymentDate;
    }
    public void setOncePaymentAmount(Long oncePaymentAmount) 
    {
        this.oncePaymentAmount = oncePaymentAmount;
    }

    public Long getOncePaymentAmount() 
    {
        return oncePaymentAmount;
    }
    public void setTotalPayment(Long totalPayment) 
    {
        this.totalPayment = totalPayment;
    }

    public Long getTotalPayment() 
    {
        return totalPayment;
    }
    public void setAmountOwing(Long amountOwing) 
    {
        this.amountOwing = amountOwing;
    }

    public Long getAmountOwing() 
    {
        return amountOwing;
    }
    public void setFapiaoDate(Date fapiaoDate) 
    {
        this.fapiaoDate = fapiaoDate;
    }

    public Date getFapiaoDate() 
    {
        return fapiaoDate;
    }
    public void setOnceFapiaoAmount(Long onceFapiaoAmount) 
    {
        this.onceFapiaoAmount = onceFapiaoAmount;
    }

    public Long getOnceFapiaoAmount() 
    {
        return onceFapiaoAmount;
    }
    public void setTotalFapiaoAmount(Long totalFapiaoAmount) 
    {
        this.totalFapiaoAmount = totalFapiaoAmount;
    }

    public Long getTotalFapiaoAmount() 
    {
        return totalFapiaoAmount;
    }
    public void setFinanceNote(String financeNote) 
    {
        this.financeNote = financeNote;
    }

    public String getFinanceNote() 
    {
        return financeNote;
    }
    public void setAttachment(String attachment) 
    {
        this.attachment = attachment;
    }

    public String getAttachment() 
    {
        return attachment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contactArchived", getContactArchived())
            .append("contractNumber", getContractNumber())
            .append("reportApplyDate", getReportApplyDate())
            .append("registrationNumber", getRegistrationNumber())
            .append("getReportOwnAmount", getGetReportOwnAmount())
            .append("notPayReason", getNotPayReason())
            .append("estimateMoneyReturnTime", getEstimateMoneyReturnTime())
            .append(" reportNumber", getReportNumber())
            .append("reportMailingDate", getReportMailingDate())
            .append("orderDate", getOrderDate())
            .append("sequenceNumber", getSequenceNumber())
            .append("enterprise", getEnterprise())
            .append("projectName", getProjectName())
            .append("detectionScheme", getDetectionScheme())
            .append("contractAmount", getContractAmount())
            .append("amountRemarks", getAmountRemarks())
            .append("transactionSource", getTransactionSource())
            .append("contact", getContact())
            .append("phoneNumber", getPhoneNumber())
            .append("detectionAddressArea", getDetectionAddressArea())
            .append("detectionAddressCounty", getDetectionAddressCounty())
            .append("businessPeople", getBusinessPeople())
            .append("operationCenter", getOperationCenter())
            .append("changeOfSalesman", getChangeOfSalesman())
            .append("businessComments", getBusinessComments())
            .append("paymentDate", getPaymentDate())
            .append("oncePaymentAmount", getOncePaymentAmount())
            .append("totalPayment", getTotalPayment())
            .append("amountOwing", getAmountOwing())
            .append("fapiaoDate", getFapiaoDate())
            .append("onceFapiaoAmount", getOnceFapiaoAmount())
            .append("totalFapiaoAmount", getTotalFapiaoAmount())
            .append("financeNote", getFinanceNote())
            .append("attachment", getAttachment())
            .toString();
    }
}
